package com.example.design.patterns.geekbang.创建型.单例模式.explain.枚举;

import java.util.concurrent.atomic.AtomicLong;

/**
 * 枚举: 通过 Java 枚举类型本身的特性，保证了实例创建的线程安全性和实例的唯一性
 */
public enum IdGenerator {
    INSTANCE;
    private AtomicLong id = new AtomicLong(0);

    public long getId() {
        return id.incrementAndGet();
    }
}
